COVID-19 in NYC

#read data
Aprildata_with_nebhod = read_csv("./data/Aprildata_with_nebhod.csv")  
## Parsed with column specification:
## cols(
##   MODZCTA = col_double(),
##   month = col_character(),
##   date = col_double(),
##   positive = col_double(),
##   total = col_double(),
##   zcta_cum_perc_pos = col_double(),
##   newcases_apr_day = col_double(),
##   neighborhood_name = col_character(),
##   borough_group = col_character(),
##   time = col_character()
## )
May_data = read_csv("./data/May_data.csv")
## Parsed with column specification:
## cols(
##   modified_zcta = col_double(),
##   month = col_character(),
##   date = col_double(),
##   positive = col_double(),
##   total = col_double(),
##   zcta_cum_perc_pos = col_double(),
##   neighborhood_name = col_character(),
##   borough_group = col_character(),
##   covid_case_rate = col_logical(),
##   pop_denominator = col_logical(),
##   covid_death_count = col_logical(),
##   covid_death_rate = col_logical(),
##   percent_positive = col_logical(),
##   newcases_day = col_double()
## )
## Warning: 12319 parsing failures.
##  row               col           expected   actual                  file
## 3010 covid_case_rate   1/0/T/F/TRUE/FALSE 1421.72  './data/May_data.csv'
## 3010 pop_denominator   1/0/T/F/TRUE/FALSE 23563.03 './data/May_data.csv'
## 3010 covid_death_count 1/0/T/F/TRUE/FALSE 17       './data/May_data.csv'
## 3010 covid_death_rate  1/0/T/F/TRUE/FALSE 72.15    './data/May_data.csv'
## 3010 percent_positive  1/0/T/F/TRUE/FALSE 24.26    './data/May_data.csv'
## .... ................. .................. ........ .....................
## See problems(...) for more details.
Junedata = read_csv("./data/Junedata.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   X1 = col_double(),
##   zipcode = col_double(),
##   neighborhood_name = col_character(),
##   borough_group = col_character(),
##   positive = col_double(),
##   covid_case_rate = col_double(),
##   pop_denominator = col_double(),
##   covid_death_count = col_double(),
##   covid_death_rate = col_double(),
##   percent_positive = col_double(),
##   day = col_character(),
##   total_covid_tests = col_double(),
##   newcases_june = col_double()
## )
data_to_plot = Junedata %>% filter(day == "June30")
spdf = rgdal::readOGR("/Users/ziqizhou/Desktop/MSPH_1st_Year/P8105_Data_Science/Git/zipcode_covid-19/data/Geography-resources/MODZCTA_2010_WGS1984.geo.json")
## OGR data source with driver: GeoJSON 
## Source: "/Users/ziqizhou/Desktop/MSPH_1st_Year/P8105_Data_Science/Git/zipcode_covid-19/data/Geography-resources/MODZCTA_2010_WGS1984.geo.json", layer: "MODZCTA_2010_WGS1984.geo"
## with 178 features
## It has 2 fields
popup_sb_newcases <- paste0("<b> MODZCTA: </b>", Junedata$zipcode,
                   "<br>", 
                   "<b> NTA: </b>", Junedata$neighborhood_name,
                   "<br>",
                   "<b> Borough: </b>", Junedata$borough_group,
                   "<br>",
                   "<b> New Cases: </b>", Junedata$newcases_june)
            
popup_sb_cumulative <- paste0("<b> MODZCTA: </b>", Junedata$zipcode,
                   "<br>", 
                   "<b> NTA: </b>", Junedata$neighborhood_name,
                   "<br>",
                   "<b> Borough: </b>", Junedata$borough_group,
                   "<br>",
                   "<b> Cumulative Cases: </b>", Junedata$positive)
            
popup_sb_pos_rate <- paste0("<b> MODZCTA: </b>", Junedata$zipcode,
                   "<br>", 
                   "<b> NTA: </b>", Junedata$neighborhood_name,
                   "<br>",
                   "<b> Borough: </b>", Junedata$borough_group,
                   "<br>",
                   "<b> Case Rate: </b>", Junedata$covid_case_rate)
                 
popup_sb_death <- paste0("<b> MODZCTA: </b>", Junedata$zipcode,
                   "<br>", 
                   "<b> NTA: </b>", Junedata$neighborhood_name,
                   "<br>",
                   "<b> Borough: </b>", Junedata$borough_group,
                   "<br>",
                   "<b> Death Count: </b>", Junedata$covid_death_count)

            
popup_sb_death_rate <- paste0("<b> MODZCTA: </b>", Junedata$zipcode,
                   "<br>", 
                   "<b> NTA: </b>", Junedata$neighborhood_name,
                   "<br>",
                   "<b> Borough: </b>", Junedata$borough_group,
                   "<br>",
                   "<b> Death Rate: </b>", Junedata$covid_death_rate)

#draw a map for cumulative cases

data_to_plot = geo_join(spdf,data_to_plot,"MODZCTA","zipcode")
            
# Getting rid of rows with NA values
data_to_plot <- subset(data_to_plot, !is.na(positive))
            
pal_cum <- colorNumeric("Greens", domain=data_to_plot$positive)

leaflet() %>%
                addProviderTiles("CartoDB.Positron") %>%
                setView(lng = -73.99653, lat = 40.71181, zoom = 11) %>% 
                addPolygons(data = data_to_plot , 
                            fillColor = ~pal_cum(data_to_plot$positive), 
                            fillOpacity = 0.7, 
                            weight = 0.2, 
                            smoothFactor = 0.2,
                            popup = ~popup_sb_cumulative) %>%
                addLegend(pal = pal_cum, 
                          values = data_to_plot$positive, 
                          position = "bottomright", 
                          title = "Cumulative Cases Count in June 30")

# draw a map for positive rate

data_to_plot <- subset(data_to_plot, !is.na(covid_case_rate))
            
pal_posr <- colorNumeric("Greens", domain=data_to_plot$covid_case_rate)

leaflet() %>%
                addProviderTiles("CartoDB.Positron") %>%
                setView(lng = -73.99653, lat = 40.71181, zoom = 11) %>% 
                addPolygons(data = data_to_plot , 
                            fillColor = ~pal_posr(data_to_plot$covid_case_rate), 
                            fillOpacity = 0.7, 
                            weight = 0.2, 
                            smoothFactor = 0.2,
                            popup = ~popup_sb_pos_rate) %>%
                addLegend(pal = pal_posr, 
                          values = data_to_plot$covid_case_rate, 
                          position = "bottomright", 
                          title = "COVID-19 Cases Rate in June 30")

draw a map for new cases

data_to_plot <- subset(data_to_plot, !is.na(newcases_june))
            
pal_new <- colorNumeric("Greens", domain=data_to_plot$newcases_june)

leaflet() %>%
                addProviderTiles("CartoDB.Positron") %>%
                setView(lng = -73.99653, lat = 40.71181, zoom = 11) %>% 
                addPolygons(data = data_to_plot , 
                            fillColor = ~pal_new(data_to_plot$newcases_june), 
                            fillOpacity = 0.7, 
                            weight = 0.2, 
                            smoothFactor = 0.2,
                            popup = ~popup_sb_newcases) %>%
                addLegend(pal = pal_new, 
                          values = data_to_plot$newcases_june, 
                          position = "bottomright", 
                          title = "New Cases Count in June 29")

#draw a map for death cases

data_to_plot <- subset(data_to_plot, !is.na(covid_death_count))
            
pal_death <- colorNumeric("Greens", domain=data_to_plot$covid_death_count)

leaflet() %>%
                addProviderTiles("CartoDB.Positron") %>%
                setView(lng = -73.99653, lat = 40.71181, zoom = 11) %>% 
                addPolygons(data = data_to_plot , 
                            fillColor = ~pal_death(data_to_plot$covid_death_count), 
                            fillOpacity = 0.7, 
                            weight = 0.2, 
                            smoothFactor = 0.2,
                            popup = ~popup_sb_death) %>%
                addLegend(pal = pal_death, 
                          values = data_to_plot$covid_death_count, 
                          position = "bottomright", 
                          title = "Death Count in June 30")

#draw a map for death rate

data_to_plot <- subset(data_to_plot, !is.na(covid_death_rate))
            
pal_death_rate <- colorNumeric("Greens", domain=data_to_plot$covid_death_rate)

leaflet() %>%
                addProviderTiles("CartoDB.Positron") %>%
                setView(lng = -73.99653, lat = 40.71181, zoom = 11) %>% 
                addPolygons(data = data_to_plot , 
                            fillColor = ~pal_death_rate(data_to_plot$covid_death_rate), 
                            fillOpacity = 0.7, 
                            weight = 0.2, 
                            smoothFactor = 0.2,
                            popup = ~popup_sb_death_rate) %>%
                addLegend(pal = pal_death_rate, 
                          values = data_to_plot$covid_death_rate, 
                          position = "bottomright", 
                          title = "Death Rate in June 30")